package com.major.crowd.constant;

import java.util.HashSet;
import java.util.Set;

public class AccessResources {

    public static final Set<String> PASS_RES_SET = new HashSet<>();

    static {
        PASS_RES_SET.add("/");
        PASS_RES_SET.add("/auth/member/to/reg/page");
        PASS_RES_SET.add("/auth/member/to/login/page");
        PASS_RES_SET.add("/auth/member/logout");
        PASS_RES_SET.add("/auth/member/do/login");
        PASS_RES_SET.add("/auth/do/member/register");
        PASS_RES_SET.add("/auth/member/send/short/message.json");
    }

    public static final Set<String> STATIC_RES_SET = new HashSet<>();
    static {
        STATIC_RES_SET.add("bootstrap");
        STATIC_RES_SET.add("css");
        STATIC_RES_SET.add("fonts");
        STATIC_RES_SET.add("img");
        STATIC_RES_SET.add("jquery");
        STATIC_RES_SET.add("layer");
        STATIC_RES_SET.add("script");
        STATIC_RES_SET.add("ztree");
    }

    /**
     * 判断是否为静态资源
     * @param servletPath 请求路径
     * @return
     */
    public static boolean isServletPathStaticResource(String servletPath){
        //排除无效字符串情况
        if (servletPath == null || servletPath.length() == 0){
            throw new RuntimeException(CrowdConstant.MESSAGE_STRING_INVALI);
        }

        //拆分
        String[] split = servletPath.split("/");

        //取下标第一个元素，判断是否在集合中
        String firstLevel = split[1];
        return STATIC_RES_SET.contains(firstLevel);

    }

//    public static void main(String[] args) {
//        String test = "/css";
//        System.out.println(isServletPathStaticResource(test));
//    }
}
